<template>
	<div>
		<city-header></city-header>
		<city-search :cities="cities"></city-search>
		<!-- 4.向子组件传递数据 -->
		<city-list :cities='cities' :hot='hotCities' :letter="letter" ></city-list>
		<!-- 监听change事件 -->
		<city-alphabet :cities="cities" @change="handleLetterChange"></city-alphabet>
	</div>
</template>
<script>
import axios from 'axios'
import CityHeader from './components/Header.vue'
import CitySearch from './components/Search.vue'
import CityList from './components/List.vue'
import CityAlphabet from './components/Alphabet.vue'
export default{
	name: 'City',
	components: {
		CityHeader,
		CitySearch,
		CityList,
		CityAlphabet
	},
	data () {
		return {
			// 2.声明空对象和空数组
			cities :{},
			hotCities:[],
			letter:''
		}
	},
	methods:{
		// 1.ajax请求数据
		getCityInfo() {
			axios.get('/api/city.json')
			.then(this.handleGetCityInfoSucc)
		},
		//3.将json中的数据传入组件中的空对象
		handleGetCityInfoSucc (res){
			res=res.data
			if(res.ret&&res.data){
				const data=res.data
				this.cities=data.cities
				this.hotCities=data.hotCities
			}
		},
		handleLetterChange(letter){
			this.letter=letter
		}
	},
	mounted (){
		this.getCityInfo()
	}
}
</script>
<style>
</style>
